package com.jlwl.houseservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jlwl.houseservice.entity.Article;
import com.jlwl.houseservice.vo.ArticleDetailVO;
import com.jlwl.houseservice.vo.ArticleQueryVO;

import java.util.List;

/**
 * 文章Service接口
 */
public interface ArticleService extends IService<Article> {

    /**
     * 分页查询文章列表
     * @param queryVO 查询条件
     * @return 分页结果
     */
    Page<Article> pageList(ArticleQueryVO queryVO);

    /**
     * 获取文章详情
     * @param id 文章ID
     * @return 文章详情
     */
    ArticleDetailVO getArticleDetail(Integer id);

    /**
     * 增加文章浏览量
     * @param id 文章ID
     * @return 是否成功
     */
    boolean incrementViewCount(Integer id);

    /**
     * 获取推荐文章列表
     * @param limit 限制数量
     * @return 文章列表
     */
    List<Article> getRecommendArticles(Integer limit);

    /**
     * 根据分类获取文章列表
     * @param categoryId 分类ID
     * @param limit 限制数量
     * @return 文章列表
     */
    List<Article> getArticlesByCategory(Integer categoryId, Integer limit);

    /**
     * 创建文章
     * @param article 文章信息
     * @return 是否成功
     */
    boolean createArticle(Article article);

    /**
     * 更新文章
     * @param article 文章信息
     * @return 是否成功
     */
    boolean updateArticle(Article article);

    /**
     * 删除文章
     * @param id 文章ID
     * @return 是否成功
     */
    boolean deleteArticle(Integer id);
} 